// pages/post-detail/post-detail.js
// 导入数据源
import {postList} from "../../data/posts-data"
Page({

    /**
     * 页面的初始数据
     */
    data: {
        postdata:{},//定义变量
        _pid:null,//中转的id值
        collected:false,
        _postCollected:{},//1、声明缓存对象的变量
        isPlaying:false,
        _mgr:null //声明变量
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: async function (options) {
        console.log("详情页onload...")
        console.log(options.pid)  //获取上一个页面传来的值
        this.data._pid = options.pid
        const postdata = postList[options.pid] //获取对象数据
        console.log(postdata)
        //读取缓存中的收藏状态
        const postCollected = wx.getStorageSync('post_collected')
        console.log(postCollected) // {0:true}
        //2、将读到的缓存对象赋值给中转变量_postCollected
        this.data._postCollected = postCollected
        //通过_pid键 找到对应的值
        let collected = postCollected[this.data._pid] //true
        //如果查询到的缓存key没有的话（undefined）说明改文章没有收藏过
        if (collected == undefined ) {
            collected = false
        }
        // 页面加载时，初始化背景音乐播放管理器
        const mgr = wx.getBackgroundAudioManager()
        this.data._mgr = mgr
        this.setData({
            postdata, //给data中的变量赋值,当前页面的全局即可以使用了
            collected//将读取缓存中的状态设置到data中，让页面能访问到
        })
    },
    //背景音乐播放功能
    onMusic(){
        if (this.data.isPlaying == false) {
            this.data._mgr.src = postList[this.data._pid].music.url
            this.data._mgr.title = postList[this.data._pid].music.title
            // this.data.isPlaying = true
            this.setData({
                isPlaying : true 
            })
        } else {
            this.data._mgr.pause() //暂停播放
            this.setData({
                isPlaying : false 
            })
        }
    },
    //收藏操作
    onCollect:async function(){
        console.log("收藏操作。。。")
            //拿到已赋值的_postCollected
            const postCollected = this.data._postCollected
            // postCollected[this.data._pid] = !this.data.collected
            //创建缓存
            wx.setStorageSync('post_collected', postCollected)
            //改变收藏状态变量
            this.setData({
                collected:!this.data.collected 
            })
            wx.showToast({
              title: this.data.collected?'收藏成功':'取消收藏',
              duration:1000
            })
    },
    // 分享操作（底部菜单栏）
    async onShare(){
        const result = await wx.showActionSheet({
          itemList: ['分享到微信','分享到朋友圈'],
        })
        console.log(result)
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {
        
    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {
        this.data._mgr.stop()
    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})